A virtual machine (VM) architecture logically partitions a physical machine, such that the underlying hardware of the machine is time-shared and appears as one or more independently operation virtual machines. A processing system in a virtual machine environment may comprise a virtual machine monitor (VMM) that may create a plurality of virtual machines and runs on the processing system to facilitate for other software the abstraction of one or more virtual machines. Each virtual machine may run its own operating system within itself.
The operating systems running in the virtual machines may be of two types: an open operating system and a closed operating system. The open operating system may allow a user to install and run software executing at a system privileged level. The closed operating system conversely may allow only specific usages and limit interactions with the user so that the user can not install and run software executing at the system privileged level. For example, in a closed system a user could be prevented from installing new applications or drivers, or from explicitly accessing OS services. Therefore, the closed operating system may run an application containing secrets, such as a multi-media application.
Upon a startup, a boot sequence may be used to boot the processing system, which may bring up the VMM to create one or more virtual machines. Each virtual machine may run either the open OS or the closed OS within itself.